home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 351-375 / disk_354 / keymacro / keymacro.h < prev    next >
C/C++ Source or Header  |  1992-05-06  |  2KB  |  105 lines

  1. /****************************************************************************
  2. *
  3. *    KeyMacro.h ------------    KeyMacro main include file.
  4. *
  5. *    Author ----------------    Olaf Barthel, MXM
  6. *                Brabeckstrasse 35
  7. *                D-3000 Hannover 71
  8. *
  9. *    KeyMacro  ©  Copyright  1990  by  MXM;  Executable  program,
  10. *    documentation  and  source  code are shareware.  If you like
  11. *    this  program  a  small donation will entitle you to receive
  12. *    updates and new programs from MXM.
  13. *
  14. ****************************************************************************/
  15.  
  16. #ifndef KEYMACRO_H
  17. #define KEYMACRO_H 1
  18.  
  19. #include <intuition/intuitionbase.h>
  20. #include <libraries/dosextens.h>
  21. #include <workbench/workbench.h>
  22. #include <devices/inputevent.h>
  23. #include <workbench/startup.h>
  24. #include <exec/interrupts.h>
  25. #include <exec/execbase.h>
  26. #include <devices/input.h>
  27. #include <exec/memory.h>
  28.  
  29. #include <functions.h>
  30.  
  31. #include <mxmproto.h>
  32.  
  33. #include <stdlib.h>
  34. #include <string.h>
  35. #include <stdio.h>
  36. #include <ctype.h>
  37.  
  38. #define PORTNAME    "KeyMacro"
  39. #define REVISION    4
  40.  
  41. #define SIG_CLOSE    SIGBREAKF_CTRL_C
  42. #define SIG_PORT    (1 << SigBit)
  43. #define SIG_SHAKE    SIGBREAKF_CTRL_F
  44.  
  45. #define MK_UNUSED    0
  46. #define MK_WORD        1
  47. #define MK_COMMAND    2
  48.  
  49. #define MM_INPUT    0
  50. #define MM_UPDATE    1
  51. #define MM_EXECUTE    2
  52.  
  53. #define MAXMACROS    30
  54.  
  55. struct KeyAlias
  56. {
  57.     char    *ka_Name;
  58.     ULONG     ka_Key;
  59. };
  60.  
  61. struct MacroKey
  62. {
  63.     UBYTE     mk_Type;
  64.  
  65.     LONG     mk_CommandKey;
  66.     LONG     mk_CommandQualifier;
  67.  
  68.     UBYTE    *mk_String;
  69.     UBYTE    *mk_Window;
  70. };
  71.  
  72. struct MacroMessage
  73. {
  74.     struct Message     mm_Message;
  75.  
  76.     UBYTE         mm_Type;
  77.  
  78.     struct MacroKey    *mm_MacroKey;
  79.  
  80.     LONG         mm_NumMacros;
  81.     struct MacroKey    *mm_MacroList;
  82.  
  83.     UBYTE        *mm_FileName;
  84.     UBYTE        *mm_WindowName;
  85. };
  86.  
  87. struct MSeg
  88. {
  89.     struct MsgPort     Port;
  90.  
  91.     BPTR         Segment;
  92.     LONG         SegSize;
  93.  
  94.     struct Task    *Father;
  95.     struct Task    *Child;
  96.  
  97.     ULONG         RingBack;
  98.     UBYTE         Revision;
  99.  
  100.     LONG         NumMacros;
  101.     struct MacroKey    *MacroList;
  102. };
  103.  
  104. #endif
  105.